Classifying Inheritance Mechanisms in Concurrent Object Oriented Programming
نویسندگان
چکیده
Inheritance is one of the key concepts in object-oriented programming. However, the usefulness of inheritance in concurrent objectoriented programming is greatly reduced by the problem of inheritance anomaly. Inheritance anomaly is manifested by undesirable re-definitions of inherited code. The problem is aggravated by the lack of a formal analysis, with a multitude of differing proposals and conflicting opinions causing the current state of research, and further directions, to be unclear. In this paper we present a formal analysis of inheritance anomaly in concurrent object-oriented programming. Starting from a formal definition of the problem we develop a taxonomy of the anomaly, and use it to classify the various proposals. As a result, the major ideas, trends and limitations of the various proposals are clearly exposed. Formal analysis of the anomaly and a thorough exposition of its causes and implications are the pre-requisites for a successful integration of inheritance and concurrency.
منابع مشابه
Actalk: a Framework for Object-oriented Concurrent Programming -design and Experience
This paper describes a framework for modeling, classifying, and specializing various object-oriented concurrent programming (OOCP) languages constructs and schemes. This framework, named Actalk, is implemented and integrated within the Smalltalk-80 programming environment. The architecture of the framework is based on the notions of components, parameterization and inheritance. The kernel of th...
متن کاملConcurrent Object-Oriented Programming in Python with ATOM
Object-oriented mechanisms, such as classes and inheritance, and concurrency mechanisms, such as threads and locks, provide two separate software structuring dimensions. The development of concurrent objectoriented software requires both dimensions to be taken into account simultaneously. Previous research has identified that substantial effort is required by programmers to avoid clashes in str...
متن کاملInheritance in Concurrent Objects
Inheritance is a crucial concept in object-oriented speciication, design and programming, potentially enabling code reuse. This concept has been recently integrated with concurrency, due to the development of concurrent object-oriented programming. This chapter reviews the inheritance principle initially in the sequential setting and then in the context of concurrent object calculi. We discuss,...
متن کاملVerifiable Programming of Object-Oriented and Distributed Systems
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of their concurrency, communication, and synchronization mechanisms. This paper explores a programming paradigm based on active, concurrent objects communicating by so-called asynchronous method calls giving rise to efficient interaction by means of non-blocking method calls, implemented by means o...
متن کاملConcurrent Object-Oriented Programming and Anomalies
The concepts of object-oriented programming and concurrency are well established. However, the formal definitions about the both are weak. The framework becomes more prone to errors when the behaviour of objects is made concurrent. In this thesis, an effort is made to establish the formal framework modeling the concurrent object-oriented programming paradigm. In addition, it is shown that in su...
متن کامل